.equ WTCON, 0x53000000
.equ INTMASK, 0x4A000008
.equ INTSUBMASK, 0x4A00001C

.section .head.text @让GCC把下面指令放在一个叫 .headd.text 的节中，以便链接器处理
.code 32            @让GCC生成32位的ARMCPU指令
.extern os_start    @该符号是从 osstart.c 导出的，
.global _start      @导出_start符号让链接器能看到
.align 4

_start:
        @关闭irq和fiq中断，并切换到SVE模式
        msr cpsr, #0xc0|0x13
        @关闭看门狗
        ldr r0, =WTCON
        mov r1, #0
        str r1, [r0]
        @屏蔽所有中断
        ldr r0, =INTMASK
        ldr r1, =0xffffffff
        str r1, [r0]
        @屏蔽所有子中断
        ldr r0, =INTSUBMASK
        ldr r1, =0x7fff
        str r1, [r0]
        ldr sp, =INIT_HEAD_STACK_ADDR   @栈指针-物理内存顶端
        bl os_start                     @调用C函数
